/*
* Copyright (c) 2025 Huawei Device Co., Ltd.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including but not limited to the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to provide persons with access to the Software
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGE OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/


export interface musicListType {
  name: string;
  id: number;
  isVip: boolean;
  isCollect: boolean;
  musicName: string;
}

interface CustomAlertOptions {
  message: string;
  duration?: number;
}

export const addMusicList = (num: number): musicListType[] => {
  const musicList: musicListType[] = [];
  for (let i = 1; i <= num; i++) {
    const music: musicListType = {
      name: '木鱼钟声' + i,
      id: i,
      isVip: true,
      isCollect: false,
      musicName: '木子若白'
    };
    musicList.push(music);
  }
  return musicList;
}

export function showCustomAlert(options: CustomAlertOptions): void {
  const { message, duration = 2000 } = options;
  
  const alertBox = document.createElement('div');
  alertBox.style.cssText = `
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    padding: 20px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    z-index: 9999;
    border-radius: 10px;
  `;
  alertBox.textContent = message;
  document.body.appendChild(alertBox);
  
  setTimeout(() => {
    document.body.removeChild(alertBox);
  }, duration);
}